<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>SYS_FS_DirSearch Function</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="generator" content="Doc-O-Matic" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <link rel="STYLESHEET" href="default.css" type="text/css" />

<script type="text/javascript" src="scripts.js"></script>
</head>
<body class="Element700" onload="onBodyLoadEx('frames.html', 'topic', '00905.html');" onmousedown="onBodyMouseDown();">

<!-- Begin Popups -->

<!-- End Popups -->

<!-- Begin Page Header -->
<div class="Element710" id="areafixed">
<div class="Element94">
<a href="01259.html" target="topic">System Service Libraries Help</a> &gt; <a href="00735.html" target="topic">File System Service Library Help</a> &gt; <a href="00736.html" target="topic">Library Interface</a> &gt; a) File and Directory Operation Functions &gt; <a href="00905.html" target="topic">SYS_FS_DirSearch Function</a></div>
<div class="Element92">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="25%">
<div class="Element1">
MPLAB Harmony Core Help</div>
</td><td width="25%">
<div class="Element2">
<a href="contents.html" target="tocidx">Contents</a> | <a href="00007.html" target="topic">Home</a></div>
</td><td width="25%">
<div class="Element90">
<a href="00904.html" target="topic">Previous</a> | <a href="00736.html" target="topic">Up</a> | <a href="00900.html" target="topic">Next</a></div>
</td><td width="25%">
<div class="Element96">
<a href="mailto:docerrors@microchip.com&subject=MPLAB Harmony Documentation Feedback (Topic ID: SYS_FS_DirSearch@SYS_FS_HANDLE@char *@SYS_FS_FILE_DIR_ATTR@SYS_FS_FSTAT * Topic Title: SYS_FS_DirSearch Function)&body=Thank you for your feedback! Please include a description of your feedback, and indicate whether you are reporting an an error in the documentation or an enhancement.">Documentation Feedback</a><br> <a href="http://support.microchip.com" target="_blank">Microchip Support</a></div>
</td></tr></table><div class="Element5">
SYS_FS_DirSearch Function</div>
</div>
</div>

<!-- End Page Header -->

<!-- Begin Client Area -->
<div class="Element720" id="areascroll">
<div class="Element721">

<!-- Begin Page Content -->
<a name="PageContent"></a><div class="Element58">
<a name="4465736372697074696F6E"></a><div class="Element11">
<div class="Element10">
<p class="Element10">
This function searches for the requested file or directory. The file or directory is specified in the attr parameter, which is of type <a href="00944.html" target="topic">SYS_FS_FILE_DIR_ATTR</a>.</p></div>
</div>
<a name="43"></a><div class="Element99">
C</div>
<div class="Element101"><div class="Element100"><pre class="Element100"><a href="01121.html" target="topic">SYS_FS_RESULT</a> <strong><span style="color: #000000">SYS_FS_DirSearch</span></strong>(
    <a href="01046.html" target="topic">SYS_FS_HANDLE</a> <strong><span style="color: #000000">handle</span></strong>, 
    <strong><span style="color: #000080">const</span></strong> <strong><span style="color: #000080">char</span></strong> * <strong><span style="color: #000000">name</span></strong>, 
    <a href="00944.html" target="topic">SYS_FS_FILE_DIR_ATTR</a> <strong><span style="color: #000000">attr</span></strong>, 
    <a href="01003.html" target="topic">SYS_FS_FSTAT</a> * <strong><span style="color: #000000">stat</span></strong>
);</pre></div></div>
<a name="507265636F6E646974696F6E73"></a><div class="Element14">
Preconditions</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
A valid directory handle must be obtained before searching the directory.</p></div>
</div>
<a name="506172616D6574657273"></a><div class="Element14">
Parameters</div>
<div class="Element11">
<div class="Element10">
<div class="Element312">
<div class="TableDiv">
<table cellspacing="0" class="Table3">
<tr>
<td class="Element300" valign="top" width="35%">
<div class="Element301">
Parameters&nbsp;</div></td><td class="Element304" valign="top" width="65%">
<div class="Element305">
Description&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
handle&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
directory handle obtained during directory open.&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
name&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
name of file or directory needed to be searched. The file&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
name can have wild card entries as follows&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
</p>
<ul class="Element630">
<li class="Element600">- Indicates the rest of the filename or extension can vary (e.g. FILE.*)</li>
</ul><p class="Element307">
&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
?&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
Indicates that one character in a filename can vary (e.g. F?LE.T?T)&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
attr&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
Attribute of the name of type <a href="00944.html" target="topic">SYS_FS_FILE_DIR_ATTR</a>. This attribute specifies whether to search a file or a directory. Other attribute types could also be specified.&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
stat&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
Empty structure of type <a href="01003.html" target="topic">SYS_FS_FSTAT</a>, where the properties of the file/directory will be populated. If LFN is used, then the &quot;lfname&quot; member of the <a href="01003.html" target="topic">SYS_FS_FSTAT</a> structure should be initialized with address of suitable buffer. Also, the &quot;lfsize&quot; should be initialized with the size of buffer. Once the function returns, the buffer whose address is held in &quot;lfname&quot; will have the file name (long file name).&nbsp;</div></td></tr></table></div></div>
</div>
</div>
<a name="52657475726E73"></a><div class="Element14">
Returns</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
SYS_FS_RES_SUCCESS - Indicates that the file or directory was found. The stat parameter will contain information about the file or directory. SYS_FS_RES_FAILURE - Indicates that the file or directory was not found. The reason for the failure can be retrieved with <a href="00911.html" target="topic">SYS_FS_Error</a> or <a href="00976.html" target="topic">SYS_FS_FileError</a>.</p></div>
</div>
<a name="52656D61726B73"></a><div class="Element14">
Remarks</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
None.</p></div>
</div>
<a name="4578616D706C65"></a><div class="Element14">
Example</div>
<div class="Element11">
<div class="Element10">
<div class="Element13"><div class="Element12"><pre class="Element12">  <a href="01046.html" target="topic">SYS_FS_HANDLE</a> dirHandle;
  <a href="01003.html" target="topic">SYS_FS_FSTAT</a> stat;
  <strong><span style="color: #000080">char</span></strong> CACHE_ALIGN longFileName[300];
  uintptr_t  longFileSize;

  dirHandle = <a href="00902.html" target="topic">SYS_FS_DirOpen</a>(&quot;/mnt/myDrive/Dir1&quot;);

  <strong><span style="color: #000080">if</span></strong>(dirHandle != <a href="01047.html" target="topic">SYS_FS_HANDLE_INVALID</a>)
  {
     <i><span style="color: #008000">// Directory open is successful</span></i>
  }

 <i><span style="color: #008000">// If long file name is used, the following elements of the &quot;stat&quot;</span></i>
 <i><span style="color: #008000">// structure needs to be initialized with address of proper buffer.</span></i>
 <i><span style="color: #008000">// lfname is not applicable when latest FAT-FS is used. Use fname instead</span></i>
  stat.lfname = longFileName;
  stat.lfsize = 300;

  <strong><span style="color: #000080">if</span></strong>(SYS_FS_DirSearch(dirHandle, &quot;FIL*.*&quot;, SYS_FS_ATTR_ARC, &amp;stat) == SYS_FS_RES_FAILURE)
  {
     <i><span style="color: #008000">// Specified file not found</span></i>
  }
  <strong><span style="color: #000080">else</span></strong>
  {
     <i><span style="color: #008000">// File found. Read the complete file name from &quot;stat.lfname&quot; and</span></i>
     <i><span style="color: #008000">// other file parameters from the &quot;stat&quot; structure</span></i>
  }</pre></div></div>
</div>
</div>
</div>
<!-- End Page Content -->

<!-- Begin Page Footer -->
<div class="Element95">
<a href="01259.html" target="topic">System Service Libraries Help</a> &gt; <a href="00735.html" target="topic">File System Service Library Help</a> &gt; <a href="00736.html" target="topic">Library Interface</a> &gt; a) File and Directory Operation Functions &gt; <a href="00905.html" target="topic">SYS_FS_DirSearch Function</a></div>
<div class="Element93">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="25%">
<div class="Element3">
MPLAB Harmony Core Help</div>
</td><td width="25%">
<div class="Element4">
<a href="contents.html" target="tocidx">Contents</a> | <a href="00007.html" target="topic">Home</a></div>
</td><td width="25%">
<div class="Element91">
<a href="00904.html" target="topic">Previous</a> | <a href="00736.html" target="topic">Up</a> | <a href="00900.html" target="topic">Next</a></div>
</td><td width="25%">
<div class="Element97">
<a href="mailto:docerrors@microchip.com&subject=MPLAB Harmony Documentation Feedback (Topic ID: SYS_FS_DirSearch@SYS_FS_HANDLE@char *@SYS_FS_FILE_DIR_ATTR@SYS_FS_FSTAT * Topic Title: SYS_FS_DirSearch Function)&body=Thank you for your feedback! Please include a description of your feedback, and indicate whether you are reporting an an error in the documentation or an enhancement.">Documentation Feedback</a><br> <a href="http://support.microchip.com" target="_blank">Microchip Support</a></div>
</td></tr></table></div>

<!-- End Page Footer -->
</div>
</div>

<!-- End Client Area -->
</body></html>